package cc.rengu.igas.momp.common.enums;

/**
 * 状态枚举值
 * 业务数据临时表和订单流水表使用
 * 不能通过switch判断,只能通过if判断
 *
 * @author Jinan Liu
 * @date 2020/4/6 22:03
 */
public enum BizStatusEnum {
    /**
     * 非正式
     */
    TMP_STATUS("00", "非正式"),
    /**
     * 正式
     */
    NORMAL_STATUS("01", "正式"),
    /**
     * 停用
     */
    DISABLED_STATUS("02", "停用"),
    /**
     * 已注销
     */
    CANCEL_STATUS("03", "已注销"),
    /**
     * 00-处理成功
     */
    PROCESS_SUCCESS("00", "处理成功"),
    /**
     * 01-业务处理中
     */
    PROCESSING("01", "业务处理中"),
    /**
     * 02-业务处理失败
     */
    PROCESS_FAILED("02", "业务处理失败"),
    /**
     * 10-已撤销
     */
    PROCESS_CANCELED("10", "已撤销"),
    /**
     * 11-已部分撤销
     */
    PROCESS_PARTIALLY_CANCELED("11", "已部分撤销"),
    /**
     * 20-已消费冲正
     */
    PROCESS_PAYMENT_REVERSED("20", "已消费冲正"),
    /**
     * 21-已部分冲正
     */
    PROCESS_PARTIALLY_REVERSED("21", "已部分冲正"),
    /**
     * 30-已全额退货
     */
    PROCESS_REFUNDED("30", "已全额退货"),
    /**
     * 31-已部分退货
     */
    PROCESS_PARTIALLY_REFUNDED("31", "已部分退货"),
    /**
     * 40-授权未完成
     */
    PROCESS_AUTHORIZING("40", "授权未完成"),
    /**
     * 41-授权已完成
     */
    PROCESS_AUTHORIZED("41", "授权已完成"),
    /**
     * 50-已确认收货
     */
    PROCESS_FINISHED("50", "已确认收货"),
    /**
     * 99-已清算
     */
    PROCESS_SETTLED("99", "已清算"),
    /**
     * AA-已退货冲正
     */
    PROCESS_REFUND_REVERSED("AA", "已退货冲正"),
    /**
     * RR-已调账
     */
    PROCESS_REGULATED("RR", "已调账");

    private String bizStatusCode;
    private String bizStatusDesc;

    BizStatusEnum(String bizStatusCode, String bizStatusDesc) {
        this.bizStatusCode = bizStatusCode;
        this.bizStatusDesc = bizStatusDesc;
    }

    public String getBizStatusCode() {
        return bizStatusCode;
    }

    public void setBizStatusCode(String bizStatusCode) {
        this.bizStatusCode = bizStatusCode;
    }

    public String getBizStatusDesc() {
        return bizStatusDesc;
    }

    public void setBizStatusDesc(String bizStatusDesc) {
        this.bizStatusDesc = bizStatusDesc;
    }

    /**
     * 判断输入项属于那种枚举值
     *
     * @param value 待检查字符串
     * @return cc.rengu.igas.momp.common.enums.BizStatusEnum 状态枚举值
     * @author Jinan Liu
     * @date 2020/4/23 10:06
     */
    public static BizStatusEnum getByValue(String value) {
        for (BizStatusEnum bizStatusEnum : values()) {
            if (bizStatusEnum.getBizStatusCode().equals(value)) {
                return bizStatusEnum;
            }
        }
        return null;
    }
}
